home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 6 / Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso / 008a / acd114.zip / ACD.DOC < prev    next >
Text File  |  1991-10-20  |  33KB  |  750 lines

  1. ┌──────────────────────────────────────────────────────────────────────────┐
  2. │Documentation of ACD version 1.14, dated Oct. 20, 1991    (c) A. Merckens │
  3. └──────────────────────────────────────────────────────────────────────────┘
  4.  
  5. First, before giving some documentation on ACD, I'll give some background
  6. information on WHY I created yet Another Change Directory program.
  7.  
  8. ┌─────────────────────────────┐
  9. │   What I liked about .....  │
  10. └─────────────────────────────┘
  11.  
  12. NCD [Norton Change Directory - (c) Peter Norton]
  13. ───
  14.     - first program that made "fast" changing directories possible
  15.     - nice best guess when pathname is incorrectly spelled
  16.     - possible to remove "current" directory [NCD RD .]
  17.     - `speed search' when window with directory information appears on screen
  18.     - possible to rename a directory
  19.  
  20. LCD [Led's Change Directory  - (c) Keith Ledbetter]
  21. ───
  22.     - directory information on more than one drive at a time
  23.     - change to correctly specified directory EVEN if not in directory
  24.       database
  25.     - fast
  26.  
  27. ┌─────────────────────────────┐
  28. │   What I disliked about ... │
  29. └─────────────────────────────┘
  30.  
  31. NCD
  32. ───
  33.     - only directory-information on one drive at a time
  34.     - directories are unsorted
  35.     - updates are unsorted [NCD MD dirname]
  36.     - messages that are driving me crazy when switching to a correctly
  37.       specified path [NCD d:\bin\dos40; I know, I know, I should have
  38.       specified NCD CD d:\bin\dos40]
  39.     - unwanted updates of directory-information when NCD encounters an unknown
  40.       directory
  41.     - cannot write directory-information for network-drives
  42.     - slow
  43.     - cannot rename a directory on a network drive
  44.  
  45.  
  46. LCD
  47. ───
  48.     - directories are unsorted
  49.     - updates are unsorted [LCD MD dirname], even worse than NCD
  50.     - pop-up window is too small when selecting from many directories
  51.     - not possible to remove "current" directory [LCD RD . ]
  52.     - not possible to explicitly give a drive name, e.g. LCD d:bi is not
  53.       allowed
  54.     - strange "BEST GUESS" when partial directory name could not be found
  55.     - not DV-aware
  56.     - if EGA/VGA 43/50 lines/page: on exit, the cursor is positioned at the
  57.       wrong line
  58.     - not possible to remove directory-information (locally), without actually
  59.       removing directories: when network drives are scanned, quite often users
  60.       have the same directory names (consider: UTILS); however, you may not be
  61.       interested in these, and wish to remove `useless' directory-information
  62.     - no `speed search' when pop-up window with directory information on screen
  63.       [Well, in version LCD 4.0 - 10 days after first release of ACD 1.00 -
  64.       Mr. Ledbetter implemented this in the same way as ACD....]
  65.  
  66.  
  67. So, I created Another Change Directory, which is, in my prejudiced opinion,
  68. the best of these two worlds.
  69.  
  70.  
  71. About the program ACD
  72.  
  73.    ACD is a program designed to have all the features I liked in LCD and NCD,
  74. and also to have the features I thought were missing in these programs. Just
  75. like LCD, ACD makes changing directories much easier, especially when you have
  76. a large harddisk with lots of different partitions or are hooked on a network
  77. drive.
  78.  
  79.    ACD works "across all drives" by maintaining the directory database of ALL
  80. drives in the file C:\ACD.IDX (by default). This means that you don't have to
  81. specify a drive letter when changing to a directory on a different drive.
  82. However, you are allowed to specify the drive letter which will be used
  83. to consider only the directories on the drive specified.
  84.  
  85.  
  86. The syntax:
  87.  
  88.    ACD [drive:]partial_dir[\] [/i][/c]: change to a directory or present selection
  89.    ACD ![drive:]partial_dir [/i]  : use scrollback history to change directory
  90.    ACD rd directory_name          : delete directory; update database
  91.    ACD md directory_name          : create directory; update database
  92.    ACD rd directory_name /local   : delete directory-information recursively
  93.                                     below directory_name from database; do not
  94.                                     actually delete directories
  95.    ACD md directory_name /local   : create directory-information; do not
  96.                                     actually create directory
  97.    ACD ren dir1 dir2              : rename dir1 to dir2; update database
  98.    ACD /create  <drivelist>       : scan drives and create directory database
  99.    ACD /qcreate <drivelist>       : scan drives (ignore dirs with extensions)
  100.                                     and create directory database
  101.    ACD /add     <drivelist>       : scan drives and add to directory database;
  102.                                     existing info on a drive will be replaced
  103.    ACD /qadd    <drivelist>       : scan drives (ignore dirs with extensions)
  104.                                     and add to directory database
  105.    ACD /?, or ACD /h              : short help
  106.  
  107. Changing directories:
  108.  
  109.    ACD is used to switch quickly between directories across any drive. You
  110.    simply invoke ACD and give it the full or partial name of the directory you
  111.    wish to change to. For example, if you have a directory named D:\COMM\KERMIT
  112.    you could switch to this directory with the command:
  113.  
  114.        C:\> ACD ker
  115.  
  116.    ACD will first try to do an immediate change to the directory name that you
  117.    specify. If that change works, ACD simply exits immediately. If it fails,
  118.    then ACD looks into your directory database and tries to figure out the
  119.    directory name that you wanted. If more than one directory existed with the
  120.    same partial name that you gave to ACD, it will display a pop-up window on
  121.    the screen containing all of the matches found. Simply use the movement
  122.    keys (PgUp, PgDn, Home, End, Arrow keys) to highlight the directory that you
  123.    want to change to, then hit <Enter>.
  124.  
  125.    If the `current directory' is included in the partial match set, the
  126.    highlight is positioned on this directory (sort of like "you are here"),
  127.    otherwise, the highlight is positioned on the first match.
  128.  
  129.    Within the pop-up window, a `speed search' is available, i.e. when you
  130.    press a key which doesn't have a special function (see below), then the
  131.    character is added to the `partial name' you entered at the command-line,
  132.    the pop-up window will possibly resized and the new selections will be
  133.    shown if more than one directory exists with the same partial name: as soon
  134.    as exactly one directory is selected by speed search, the directory will be
  135.    selected without further confirmation.
  136.  
  137.    By pressing * the method of partial name search is toggled. Normally, ACD
  138.    matches the partial name at the start of the last part of the directory.
  139.    When pressing * once, it will match the partial name anywhere in the last
  140.    part of the directory (see example below). If you press * again, the first
  141.    method is used again.
  142.    If you press \, then all subdirectories of the current selection are shown
  143.    as well; if you press \ again, the previous state is restored.
  144.  
  145.    If you press ESC, the operation will be aborted.
  146.    The + key makes the highlighted line point to the next drive in the
  147.    selection window, and the Tab makes the highlighted line point to the next
  148.    directory with the same parents as the currently highlighted line.
  149.    By pressing <ALT>C simultaneously, the highlighted path will be centered on
  150.    the screen, allowing you to see the directories above and below the
  151.    highlighted path.
  152.  
  153.    Summary on the action of keys when in pop-up window:
  154.  
  155.        F1         : gives help on the special keys
  156.        Pg-Up      : go to top of page, or go one page up
  157.        Pg-Dn      : go to bottom of page, or go one page down
  158.        End        : go to last entry
  159.        Home       : go to first entry
  160.        Arrow-Up   : go to previous entry
  161.        Arrow-Dn   : go to next entry
  162.        Tab        : go to next entry with the same `parent'
  163.        BackTab    : go to previous entry with the same `parent'
  164.        ALT-C      : center highlighted path on screen
  165.        +          : go to first entry of next drive
  166.        *          : toggle search method
  167.        \ or /     : toggle display of all subdirectories of current selection
  168.        Enter      : switch to highlighted entry
  169.        Esc        : abort operation
  170.        BS, Del    : delete character from partial name for `speed search'
  171.        :          : select all drives instead of the one specified
  172.        other char.: add character to partial name for `speed search'
  173.  
  174.  
  175.    Example:
  176.  
  177.        C:\> ACD do
  178.  
  179.    If this selects more than one directory, a pop-up window will be show on the
  180.    screen:
  181.  
  182.        ┌─────────────────────────────[F1 help]────────────────[1/2]────────┐
  183.        │ c:\bin\dos40                                                      │
  184.        │ d:\doreen                                                         │
  185.        └──────────────────────────────────────────────────────[do        ]─┘
  186.  
  187.    In this case, two directories are selected. By using the arrow-keys and the
  188.    <Enter>, or by pressing the next character (r or s), a selection can be made.
  189.  
  190.    By pressing the *, you will `toggle' the method of string-searching, and
  191.    you'll get a pop-up window equal to the command:
  192.  
  193.         ACD *do
  194.  
  195.    So, for example:
  196.  
  197.        ┌─────────────────────────────[F1 help]────────────────[1/4]────────┐
  198.        │ c:\4dos                                                           │
  199.        │ c:\bin\dos40                                                      │
  200.        │ d:\doreen                                                         │
  201.        │ g:\utils\seldom                                                   │
  202.        └──────────────────────────────────────────────────── *[do        ]─┘
  203.  
  204.    By entering * again, the first screen will be shown again.
  205.    When you press \, you may get the following screen:
  206.  
  207.        ┌─────────────────────────────[F1 help]────────────────[1/6]────────┐
  208.        │ c:\4dos                                                           │
  209.        │ c:\bin\dos40                                                      │
  210.        │ d:\doreen                                                         │
  211.        │ d:\doreen\goodies                                                 │
  212.        │ d:\doreen\oldies                                                  │
  213.        │ g:\utils\seldom                                                   │
  214.        └──────────────────────────────────────────────────── *[do*\      ]─┘
  215.  
  216.    By entering \ again, you will get the previous screen again.
  217.    You can specify from the commandline which search method has to be used,
  218.    and/or if all subdirectories of the selection have to be shown by starting
  219.    with a star ("*") and finishing wish a slash ("\").
  220.  
  221.    Note that as soon as exactly one directory is selected by Speed Search, the
  222.    directory is selected, without further confirmation.
  223.  
  224.    By default, all drives that are mentioned in the pop-up window are tested
  225.    for their existence. This ensures that only directory information of the
  226.    active drives is displayed. If you don't like this, or if testing your
  227.    drives is S L O W then you may add the /i option. ACD will then display
  228.    also the information of the (possibly) non-active drives. If you would like
  229.    to make this the default, then you could patch ACD (described at the end).
  230.  
  231.    If you KNOW you wish to change to a directory on the default drive, you
  232.    may specify
  233.  
  234.        ACD dir /c
  235.  
  236.    which will only show you the matching directories on the current drive; If
  237.    you KNOW you wish to change to a directory on the E-drive (for example),
  238.    then you may specify
  239.  
  240.        ACD E:dir /c
  241.  
  242.    which will only show the matching directories on the E-drive. If a
  243.    selection is shown, and you change your mind about the drive specification,
  244.    then you may press : which will result in showing the matching directories
  245.    based on all drives, as if you did not include E: or the /c option from the
  246.    command-line.
  247.  
  248.  
  249. Scrollback history:
  250.  
  251.    Each time you change to a directory using ACD and using information in the
  252.    ACD-database, information is written to the ACD-database to remember the
  253.    directory you just changed to. By default the scrollback history will
  254.    remember up to 20 directories. Since ACD now writes each time it is used to
  255.    change to a directory, the performance on a XT might be slow. If you don't
  256.    want to use the scrollback history function for this or another reason, you
  257.    may change the history size to zero. See "Limitations and other features "
  258.    at the end of this document how to proceed.
  259.    When you changed to a few directories and wish to return to one of them,
  260.    you may enter:
  261.  
  262.         ACD !
  263.  
  264.    Now a pop-up window will appear which will show the directories you have
  265.    changed to.
  266.    Once again, you can use speedsearch or the keys mentioned above to make a
  267.    selection. You may also call speedsearch from the commandline, by
  268.    specifying, for example:
  269.  
  270.         ACD !do
  271.  
  272.    which will present a partial match set using ONLY the last "historysize"
  273.    (=20) directories you changed to. The first entry on screen is the last
  274.    directory you changed to, etc.
  275.  
  276.    The scrollback history is destroyed when you enter CD /add [drive], or CD
  277.    /scan [drive].
  278.    Note that if you change to a directory directly - i.e. ACD does not have to
  279.    use information from its database - ACD does not add information to the
  280.    scrollback history. So, for example, if the directory C:\DOS40 exists, and
  281.    you enter:
  282.  
  283.         ACD C:\DOS40
  284.  
  285.    then this information is not added to the scrollback history. However, in
  286.    this case, if you would have entered
  287.  
  288.         ACD DOS
  289.  
  290.  
  291.    and selected C:\DOS40, then the information WOULD be added.
  292.  
  293.  
  294. Scanning directories:
  295.  
  296.    The first time you execute ACD, you must specify the /CREATE parameter
  297.    ("ACD /create") which instructs ACD to scan all of your hard drives and
  298.    create a file called ACD.IDX in the root directory of drive C. Depending on
  299.    how you will create/remove your directories in the near future, it may be
  300.    necessary to periodically rescan your drives.
  301.  
  302.    If you only want ACD to know about certain specific drives (for example:
  303.    only non-network drives), you can specify a drive list after the /CREATE
  304.    keyword. To have ACD only scan drives C, E, and G, just enter:
  305.  
  306.        C:\> ACD /CREATE CEG
  307.  
  308.    If at any stage, you wish to add information about another drive, say drive
  309.    F, then you could enter:
  310.  
  311.        C:\> ACD /ADD F
  312.  
  313.    If you are sure that you don't have subdirectories which have an extension
  314.    in their name (for example, C:\PROGRAMS.OLD\) then you can specify
  315.    /QCREATE, (/QADD), instead of /CREATE (/ADD).  This causes ACD to scan
  316.    approximately 33% quicker than without the Q.
  317.  
  318.    Starting from version 1.03: if you ADD a drive for which already
  319.    information is stored in the directory database, this information will be
  320.    replaced by new information at the end of the information database, so no
  321.    redundant information will be stored.
  322.  
  323.  
  324. Direct database updating:
  325.  
  326.    You can also use ACD to create, remove and rename directories with
  327.    immediate database updating. This means that you don't have to rescan your
  328.    drives to update the directory database. ACD will create, delete or rename
  329.    the directory specified, and then update the ACD.IDX database at the same
  330.    time. For example, to create a directory on drive F: and put that directory
  331.    in the database, you'd do:
  332.  
  333.        C:\> ACD md f:\temp
  334.  
  335.    This ability comes in especially handy for users of command shells that
  336.    allow aliasing, such as CED and 4DOS. With these utilities, you can change
  337.    the standard MD and RD commands to invoke ACD instead. With 4DOS, you could
  338.    set up the aliases like below in a file called, say, C:\ALIASES
  339.  
  340.        md ACD md %&
  341.        mkdir md
  342.        rd ACD rd %&
  343.        rmdir rd
  344.        cd ACD %&
  345.        rendir ACD ren %&
  346.        ACD <drive:\dir>ACD.EXE
  347.  
  348.    Now you can give in 4DOS the command
  349.  
  350.        alias /r c:\aliases
  351.  
  352.    Note: the last line - ACD <drive:\dir>ACD.EXE - is not necessary if ACD.EXE
  353.    is in your search PATH; however, a program which has just a simple task -
  354.    in this case `change directory' - executes much faster if the PATH does not
  355.    have to be searched.
  356.    Another suggestion: if you have defined an alias for CD and wish to change
  357.    to the previous directory, enter CD.. (without space) instead of CD ..
  358.    (with space), since in the first case ACD will not be called to execute
  359.    this very simple task and consequently no loading of the program has to
  360.    take place, and thus changing to the previous directory will go faster
  361.    (especially noticeable on an XT), with less typing.
  362.  
  363.  
  364. Local database updating:
  365.  
  366.    You can also use ACD to create and remove directory information only by
  367.    using the /local switch. ACD will NOT create or delete the directory
  368.    specified, but only update the ACD.IDX database.
  369.    For example, to remove the information on a directory and its
  370.    subdirectories on drive G:
  371.  
  372.        C:\> ACD rd G:\users\mally /local
  373.  
  374.    Then all information about g:\users\mally is deleted from the database, and
  375.    all of its subdirectories. This is especially handy for users of network
  376.    drives, who do not want to this information in their database.
  377.  
  378.    Also, you can add local directory information to the database. Eg. if the
  379.    directory c:\bin\testcase is missing in the database info, but you wish to
  380.    include it, you can update the database with this database information
  381.    without rescanning:
  382.  
  383.        C:\> ACD md c:\bin\testcase /local
  384.  
  385.    Note however that in order for ACD to update the database, the directory
  386.    c:\bin (the parent) should exist.
  387.  
  388.  
  389. Renaming directories:
  390.  
  391.    You can also use ACD to give a directory another name. ACD will directly
  392.    rename the directory and update the ACD-database. Directories can only be
  393.    renamed if the parents of the directory to be renamed are the same as the
  394.    parents of the new directory specification. For example:
  395.  
  396.        ACD ren c:\bin\dos c:\bin\olddos
  397.  
  398.    is allowed, whereas
  399.  
  400.        ACD ren c:\bin\dos c:\olddos
  401.  
  402.    is not allowed, since they have different parents. You can also rename the
  403.    current directory by specifying
  404.  
  405.        ACD ren . olddos
  406.  
  407.  
  408. The ACD and ACD_color environment variables
  409.  
  410.    If you'd rather have ACD keep its ACD.IDX database another place than the
  411.    root directory of drive C:, you can specify the filename you want in the
  412.    environment variable named ACD. For example, if you'd like to keep the
  413.    ACD.IDX file on drive D: in your UTILS directory, you would put
  414.  
  415.        SET ACD=D:\UTILS\ACD.IDX
  416.  
  417.    in your AUTOEXEC.BAT file.
  418.  
  419.    You can change the colors of the pop-up window. You do this by setting an
  420.    environment variable named "ACD_COLOR":
  421.  
  422.    Set ACD_Color = backgroundcolor foregroundcolor
  423.  
  424.    The colors can be chosen from the table below (default is: 0 7)
  425.  
  426.           Dark Colors   ║
  427.          (Foreground &  ║  Light Colors
  428.           Background)   ║  (Foreground)
  429.         ═══════════╤════╬══════════════╤════
  430.          Black     │ 0  ║ DarkGray     │  8
  431.          Blue      │ 1  ║ LightBlue    │  9
  432.          Green     │ 2  ║ LightGreen   │ 10
  433.          Cyan      │ 3  ║ LightCyan    │ 11
  434.          Red       │ 4  ║ LightRed     │ 12
  435.          Magenta   │ 5  ║ LightMagenta │ 13
  436.          Brown     │ 6  ║ Yellow       │ 14
  437.          LightGray │ 7  ║ White        │ 15
  438.  
  439.    Example:
  440.  
  441.        Set ACD_Color = 2 4
  442.  
  443.    Would give you red characters in a green window. The default, lightgray
  444.    characters on black background works nicely on a monochrome monitor.
  445.  
  446. Some more examples:
  447.  
  448.    ACD rd .        : Remove current directory
  449.    ACD rd . /local : Remove information only on current directory
  450.    ACD cd ....     : Just like in 4DOS: go 3 directories back;
  451.    ACD d:*         : Show all paths in the database on drive D
  452.    ACD s*          : Find all paths that start with s; equal to ACD s.
  453.    ACD s\          : Find all paths that start with s and show all its
  454.                      subdirectories
  455.    ACD *in         : Find all paths that have the word "in" in them.
  456.    ACD *           : Show all paths in the database.
  457.    ACD **          : Show all paths in the database, and use different Speed
  458.                      Search method.
  459.    ACD !s          : Find all paths in the scrollback history that start with
  460.                      an s.
  461.  
  462.  
  463.  
  464. Limitations and other features:
  465.  
  466.  . The ACD-database can have a maximum size of approximately 64K bytes. One
  467.    directory entry takes room for at least 5 bytes, and at most 16 bytes. If
  468.    we assume that the mean value is about 9 bytes (i.e. on average the length
  469.    of a directory-name is 5 characters), then about 7300 directories can be
  470.    stored.
  471.  
  472.  . If you have more than 64K-32 bytes of directory information, ACD will
  473.    abort, and saves the ACD-database up to that point.
  474.  
  475.  . ACD without parameters acts just as CD without parameters: show current
  476.    directory name.
  477.  
  478.  . ACD is very primitive on wildcards: it only understands the asterisk ('*')
  479.    as a wildcard character.
  480.  
  481.  . ACD is DesqView aware. If DesqView is active, then for simple screen
  482.    writes, it uses the BIOS and for intensive screenwrites, it uses the
  483.    Virtual Screen Buffer of DV. Furthermore, - more important - the pop-up
  484.    window correctly pops-down, i.e. the DV-screen is correctly restored.
  485.  
  486.  . The directories will be presented alphabetically sorted, where the drive
  487.    order is dependent on how you created the ACD-database. If you
  488.  
  489.        ACD /CREATE DCF
  490.  
  491.    then first the matching files on drive D will be listed, then the ones on
  492.    drive C and then on drive F. Note that this is a feature.
  493.  
  494.  . When drives do not exist anymore, for example when the network is not
  495.    loaded, the directories of these invalid drives are excluded from the
  496.    partial match list.
  497.  
  498.  . Because of its database format, ACD can not store a child directory in the
  499.    database if its parent is not there. Some people may regard this as a
  500.    feature, others as a limitation. For example, if you do this (with no
  501.    `aliases' on MD):
  502.  
  503.        ACD rd C:\Useless /local
  504.        ACD md C:\Useless\Junk
  505.  
  506.    ACD will create the directory "Junk", but it will not store the name in the
  507.    database. You won't be notified; the reason for this is that I don't like
  508.    to be notified all the time.
  509.  
  510.  . Some people hate to lose precious environment space, and that's why you are
  511.    allowed to patch ACD.EXE to have your own preferred colors by default,
  512.    without setting the "ACD_color" environment variable. However, you are NOT
  513.    allowed to redistribute this patched version, but only the original
  514.    version.
  515.    The easiest way to make the patch is to use PATCH22 from Jurgen A. Doornik
  516.    (current version: P22V12.zip), which can also be obtained from the SIMTEL20
  517.    archives, and is also free of charge.
  518.  
  519.    By using the following table:
  520.  
  521.           Dark Colors         ║
  522.          (Foreground &        ║  Light Colors
  523.          Background) Dec Hex  ║  (Foreground)  Dec Hex
  524.         ═══════════╤══════════╬══════════════╤════════
  525.          Black     │ 0  (01)  ║ DarkGray     │  8 (08)
  526.          Blue      │ 1  (02)  ║ LightBlue    │  9 (09)
  527.          Green     │ 2  (03)  ║ LightGreen   │ 10 (0A)
  528.          Cyan      │ 3  (04)  ║ LightCyan    │ 11 (0B)
  529.          Red       │ 4  (05)  ║ LightRed     │ 12 (0C)
  530.          Magenta   │ 5  (06)  ║ LightMagenta │ 13 (0D)
  531.          Brown     │ 6  (07)  ║ Yellow       │ 14 (0E)
  532.          LightGray │ 7  (08)  ║ White        │ 15 (0F)
  533.  
  534.    the command
  535.  
  536.        patch22 acd.exe ?\h2A2E2A?\h2A2E2A....?
  537.  
  538.    will patch the default colors of ACD in the colors you prefer: the four
  539.    dots must be replaced by the HEX values of the BackGround Color and
  540.    ForeGround Color. For example:
  541.  
  542.        patch22 acd.exe ?\h2A2E2A?\h2A2E2A010E?
  543.  
  544.    would give you by default yellow characters on blue background, without
  545.    using any environment space.
  546.    You can also modify ACD_COL.P22 to suit your needs and call:
  547.  
  548.        patch22 @acd_col.p22
  549.  
  550.    Of course, you can use Norton utilities, or PCTOOLS as well to change the
  551.    colors. The searchstring to be used is HEX 2A 2E 2A. The two bytes to be
  552.    changed are positioned after this searchstring (00 0F).
  553.  
  554.  . Another patch that is allowed changes the functionality of ACD without
  555.    parameters:
  556.  
  557.         patch22 acd.exe +5?\h2A2E2A?*?
  558.  
  559.    which changes the third byte after the searchstring (hex 20).
  560.    Now ACD without parameters is equivalent to ACD *, just like NCD.
  561.    You can also modify ACD_PAR0.P22 to suit your needs and call:
  562.  
  563.        patch22 @acd_par0.p22
  564.  
  565.  
  566.  . Another patch that is allowed changes the size of the scrollback history:
  567.  
  568.         patch22 acd.exe +6?\h2A2E2A?\h0?
  569.  
  570.    which changes the fourth byte after the searchstring (hex 14) in 0, which
  571.    will yield a history size of 0;
  572.  
  573.         patch22 acd.exe +6?\h2A2E2A?\h20?
  574.  
  575.    which changes the fourth byte after the searchstring in hex 20, which will
  576.    yield a history size of 32.
  577.    You can also modify ACD_hist.P22 to suit your needs and call:
  578.  
  579.        patch22 @acd_hist.p22
  580.  
  581.  . The next patch makes sure that the ACD.IDX database will not be updated
  582.    when ACD encounters an unknown sub-directory with a known parent.
  583.  
  584.         patch22 acd.exe +7?\h2A2E2A?\h00?
  585.  
  586.    which changes the fifth byte after the searchstring (hex 01) in 0.
  587.  
  588.         patch22 acd.exe +7?\h2A2E2A?\h01?
  589.  
  590.    which changes the fifth after the searchstring back in hex 01.
  591.    You can also modify ACD_know.P22 to suit your needs and call:
  592.  
  593.        patch22 @acd_know.p22
  594.  
  595.  . The next patch makes sure that by default the drives will not be tested for
  596.    their existence: all information will be displayed. The /i option will then
  597.    get the opposite meaning.
  598.  
  599.         patch22 acd.exe +8?\h2A2E2A?\h01?
  600.  
  601.    which changes the sixth byte after the searchstring (hex 00) in 01.
  602.  
  603.         patch22 acd.exe +8?\h2A2E2A?\h00?
  604.  
  605.    which changes the sixth after the searchstring back in hex 00.
  606.    You can also modify ACD_drv.P22 to suit your needs and call:
  607.  
  608.        patch22 @acd_drv.p22
  609.  
  610.  . ACD returns detailed ERRORLEVEL conditions, which can be useful if ACD is
  611.    invoked from batch files.  The errorlevels are:
  612.  
  613.               0  :   ACD was successful
  614.               1  :   Escape pressed
  615.               2  :   No parameters on commandline
  616.               3  :   Unknown command
  617.               4  :   Unable to change to directory (directory not found)
  618.               5  :   ACD-database is full; partial directory-info saved
  619.               6  :   Unable to create directory
  620.               7  :   Unable to remove directory
  621.               8  :   ACD-database is corrupted
  622.               9  :   Error opening ACD-database
  623.              10  :   Error reading ACD-database
  624.              11  :   Error writing ACD-database
  625.              12  :   ACD_color specification is incorrect
  626.              13  :   Directory could not be renamed
  627.              14  :   Directory to be renamed is not a directory
  628.              15  :   Directories must have equal parent for rename
  629.  
  630.    The resulting error message can be redirected by adding >NUL to the
  631.    ACD command.
  632.  
  633.  . For the interested user, here is what ACD does when changing to a
  634.    directory:
  635.  
  636.        1.  Try to change directly from current directory to the directory
  637.            specified. If this directory does not exist, go to step 2.
  638.  
  639.        2.  Look for a match of the last part of the directory entry. For
  640.            example, if you specify "ACD sou", then all of the following would
  641.            match:
  642.  
  643.                c:\compiler\c\sources
  644.                d:\database\soup
  645.                f:\acd\source
  646.  
  647.            If more than one match found, display the pop-up window. If none
  648.            found, go to step 3.
  649.  
  650.        3.  At this point, ACD just shrinks the partial string and repeats step
  651.            2, until one or more directories are found.
  652.  
  653.  
  654.  
  655. This program is FREE of charge and may be used by anyone who wishes to. So,
  656. also in a commercial/educational environment. However, you are not allowed to
  657. remove the Copyright Statement, or to sell this program, or bundle it with
  658. other (commercial) goods. You may give it to anyone you like, but only in its
  659. original form with the complete documentation.
  660.  
  661. If you have any (positive/negative) comments or suggestions, I would like to
  662. hear from you.
  663.  
  664. Furthermore, I will not be held liable for any misfortune that may or may not
  665. happen to you, which may or may not be the result of using or not using this
  666. program. In other words, the usual disclaimer applies here.
  667.  
  668.  
  669.                                                 Arjen Merckens
  670.                                                 Gandhilaan 35
  671.                                                 1069 NC  Amsterdam
  672.                                                 The Netherlands
  673.                                                 Internet: AMBASE@RUG.NL
  674.  
  675.  
  676. Acknowledgments:
  677.  
  678. David E. Jenkins (DAVE.JENKINS@OFFICE.WANG.COM) has given me numerous useful
  679. suggestions, like the scrollback history function, and both he and Jurgen A.
  680. Doornik (ECONZ@VAX.OX.AC.UK), author of PATCH22, tested and commented the
  681. Beta-release of ACD version 1.10. Thanks!
  682.  
  683.  
  684. Revision History:
  685.  
  686. version 1.14, Oct 20, 1991
  687.   - fixed bug caused by too fast implementation of the /c option:
  688.     ACD could not recognize /create.
  689.   - added help from the pop-up window.
  690.   - /c and /i really toggle: when specified more than once, the toggling
  691.     on/off continues. Ideal for making /c the default in an alias.
  692.   - fixed small bug concerning HOME-key.
  693.  
  694. version 1.13, Oct. 15, 1991
  695.   - added /c option to use current drive for switching.
  696.   - added action of the : key when in pop-up window; all drives are selected.
  697.  
  698. version 1.12, Oct. 12, 1991
  699.   - added /i option to ignore unlogged drives; a patch can make this the
  700.     default. Saves (some) time.
  701.   - renames directories perfectly under NOVELL (NCD can't; LCD partly).
  702.  
  703. version 1.11, Oct. 6, 1991
  704.   - automatically adds newly unknown subdirectories with known parents; a
  705.     patch can disable this automatic function.
  706.   - fixed some bugs resulting in a corrupted ACD.IDX.
  707.  
  708. version 1.10, Oct. 1, 1991
  709.   - added \-function to display all subdirectories of partial match selection.
  710.   - added scrollback history function; a function to remember and pop-up the
  711.     last "historysize" (default: 20) directory-names (cd !).
  712.   - hidden directories are now also scanned.
  713.   - added ALT-C : center choice.
  714.   - added BackTab-function for selecting previous directory with same parent.
  715.  
  716. version 1.03, Sept. 14, 1991
  717.   - added possibility to patch function of calling ACD without parameters.
  718.   - if adding information with /[q]add that already exists in the information
  719.     database, the redundant information is removed. The replaced/added drive
  720.     information are put at the end of the database.
  721.   - position the highlight on the current directory if it is included in the
  722.     partial match set being displayed (sort of like "you are here").
  723.   - when drives do not exist anymore, for example when the network is not
  724.     loaded, the directories of these invalid drives are excluded from the
  725.     partial match list.
  726.   - fixed bugs:
  727.   . when removing a directory which had in the ACD database still some
  728.     subdirectories, the ACD database would get corrupted.
  729.   . when creating a new directory in the root, the ACD database would
  730.     get corrupted.
  731.  
  732. version 1.02, Sept. 7, 1991
  733.   - changed REN function to work as in (4)DOS. Example:
  734.        ACD ren d:\bin\dos olddos
  735.     now renames d:\bin\dos in d:\bin\olddos in stead of giving an error
  736.     message. However, if you enter ACD ren d:\bin\dos d:\olddos, you'll still
  737.     get an error message and ERRORLEVEL 15 will be set.
  738.   - Some minor code changes.
  739.  
  740. version 1.01, Aug. 8, 1991
  741.   - added TAB-function for selecting next directory with same parent.
  742.   - some minor bugs fixed:
  743.   . in some instances when creating a directory, the sort order was not kept.
  744.   . when a subdirectory was created which had the same name as a `sibling' of
  745.     the parent, the ACD-database would not be updated.
  746.  
  747. version 1.0 , Aug. 7, 1991
  748.   - first public release.
  749.  
  750.